[% setvar title Perl6 Summary for the week ending 2002-09-01 %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='Perl6 Summary for the week ending 2002-09-01'></a><h1>Perl6 Summary for the week ending 2002-09-01</h1>
<p>Well, it's been a week. Damian came to London and made our heads spin;
perl6-language erupted in a flurry of interesting, high signal/noise
threads; Parrot reached its 0.0.8 release; Larry made many of his
wonderfully unexpected but obviously <i>right</i> interjections and the
world kept on turning.</p>
<p>So, we'll kick of with perl6-internals as usual.</p>
<a name='DOD etc'></a><h2>DOD etc</h2>
<p>The 'elimination of garbage collection handwaving' thread continued as
Nicholas Clark asked a hard question about garbage collection and dead
object detection (DOD). As far as Nick could tell, it seems that `if
we have unrefcounted &quot;deterministic destruction&quot; objects somewhere
freely in the GC system, then we'll be needing a DOD run after every
statement' and he noted that `All ways of doing deterministic
destruction seem to have considerable overhead'. Sean O'Rourke
wondered if we could use a hybrid `full GC + refcounts where needed'
scheme, but Juergen Boemmels pointed out that refcounting would be
contagious. Anything which contained a reference to a refcounted
object would need to be refcounted in its turn...</p>
<p>Meanwhile, Mike Lambert wondered why we needed to promise deterministic
destruction in the first place and proposed a couple of schemes to
deal with the canonical `filehandle' case. Sean O'Rourke and Steve
Fink both came forward with cases where deterministic destruction
proved useful, and where Mike's scheme didn't really work. And that's
where the thread came to rest. I have the feeling that it, or a thread
like it, will be back.</p>
<p><a href='http://makeashorterlink.com/?K11642DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='Dynamic Keys'></a><h2>Dynamic Keys</h2>
<p>Tom Hughes, who has been doing good work on keyed access wondered
about dealing with dynamic keys, and proposed a way forward. Dan asked
whether Tom had looked at the proposed ops in PDD06, and pointed out
that dynamic keys didn't necessarily need to go the whole PMC
hog. `They're our internal structures--we can screw with them as we
need :)'. Tom pointed out a few issues with the PDD06 op set, and
proposed a few more ops with a (hopefully) consistent naming
scheme. So far he's had no answer to the questions he raised in that
post.</p>
<p><a href='http://makeashorterlink.com/?P12621DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='Perl6 Test Failures'></a><h2>Perl6 Test Failures</h2>
<p>Steve Fink wondered about all the test failures he keeps seeing for
Perl 6; he doesn't want to go trying to make a language neutral regex
engine play nicely with the Perl6 engine when that engine is in such a
state of flux. Sean O'Rourke suggested nailing down some calling
conventions and then both teams could code to those conventions. Steve
pointed out that, so far, he knows of at least 5 attempts at a regex
engine in parrot. Leopold Toetsch suggested Steve try the tests again,
forcing a grammar rebuild, and the test failures got all better.</p>
<p><a href='http://makeashorterlink.com/?R23631DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='Regex status'></a><h2>Regex status</h2>
<p>On Wednesday, Dan wondered where we were with Apocalypse/Exegesis 5
compatible patterns/rules/regexes. Sean O'Rourke told him. (Answer:
Still some way to go, but making good speed.)</p>
<p><a href='http://makeashorterlink.com/?U14651DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='Counting down to 0.0.8'></a><h2>Counting down to 0.0.8</h2>
<p>On Thursday, Jeff Goff posted his timetable for 0.0.8, `Octarine'
release of Parrot, complete with a 25 hour code freeze. Markus
wondered if using a GMT timetable might be more friendly for every one
who wasn't on the East Coast of the United States. Parrot actually saw
release on Monday September the second, which is slightly outside the
scope of this summary, but I'll let it sneak in anyway.</p>
<p><a href='http://makeashorterlink.com/?Z55612DA1' target='_blank'>makeashorterlink.com</a></p>
<p><a href='http://makeashorterlink.com/?A16623DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='An `Oops' moment.'></a><h2>An `Oops' moment.</h2>
<p>Leopold Toetsch found an interesting bug with the GC system
interacting with initialization. <b><i>examples/life.ar.p6</i></b> is a Perl6
implementation of Conway's Life, which has a rather lengthy
initialization phase, after which it checks the <code>@ARGS</code> array, which
is conventionally placed in <code>P0</code> at startup. But there's a catch. By
the time it comes to make the check, <code>@ARGS</code> has been garbage
collected. Peter Gibbs posted a quick fix patch, and Mike Lambert
stuck his hand up to being a `lazy bum', but reckoned that Steve
Fink's fixes should solve the problem.</p>
<p><a href='http://makeashorterlink.com/?U27631DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='Various changes to IMCC'></a><h2>Various changes to IMCC</h2>
<p>Whilst `idly toying' with IMCC, Steve Fink made a bunch of speculative
changes, bundled 'em up in a patch and offered them to the list. I'm
not sure what people thought of the changes, but the thread morphed
into a discussion of generating conditional makefiles and making sure
that IMCC and the other tools needed to get the Perl6 compiler working
were as portable as possible. Mike Lambert pointed out that it may
make sense to have the files generated by bison/flex checked directly
into the repository, since then those tools wouldn't be needed except
by people who go messing with the grammar.</p>
<p><a href='http://makeashorterlink.com/?F28652DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='Concatenation failing'></a><h2>Concatenation failing</h2>
<p>Leon Brocard (phew, I was worried I was going to have to run his
questionnaire this week) found a bug where concatenation fails
occasionally leaving no clues as to why. He attached some sample code
which illustrates the problem. Peter Sinnott noted that Parrot seems
to be getting confused about the length of the strings involved. Peter
Gibbs meanwhile offered a patch and Mike Lambert reckoned it fixed a
bug in his code, but couldn't for the life of him work out why. Peter
reckons it has to do with <code>unmake_COW</code> resizing the allocation and
causing confusion elsewhere. I get the feeling that what we have now
is a `symptomatic' fix in search of a fix for an underlying issue. But
I'm just a summarizer.</p>
<p>Markus Laire found what he thinks might be another bug, but I've no
idea if it's fixed by Peter Gibbs' patch.</p>
<p><a href='http://makeashorterlink.com/?N69623DA1' target='_blank'>makeashorterlink.com</a></p>
<p><a href='http://makeashorterlink.com/?V3A623DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='IRIX64 alignment problem'></a><h2>IRIX64 alignment problem</h2>
<p>Steven McDougall chased down a bug causing <b><i>t/pmc/perlhash.t</i></b> to
throw a bus error, but wasn't at all sure how to go about fixing it,
and asked for advice. Bryan C. Warnock offered a few pointers, as did
Peter Gibbs, but we don't have a fix yet.</p>
<p><a href='http://makeashorterlink.com/?M3B615DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='Meanwhile, in perl6-language'></a><h1>Meanwhile, in perl6-language</h1>
<a name='Prototypes, grammars and subs, oh my!'></a><h2>Prototypes, grammars and subs, oh my!</h2>
<p>Thom Boyer wondered what <code>while</code>'s signature would be. He'd
considered <code>sub while (bool $test, &amp;body);</code> and <code>sub (&amp;test,
&amp;body);</code> but neither really fit. Larry agreed and offered</p>
<pre>    sub while (&amp;test is expr, &amp;body);</pre>
<p>and then, reaching deeper into his bag of tricks, he pulled out the
wonderful/scary</p>
<pre>    sub while (&amp;test is rx/&lt;expr&gt;/, &amp;body);</pre>
<p>(Think about that for a moment. What is proposed that you'll be able
to specify a grammar for your functions argument list, which is
definitely something that made <i>me</i> sit up and take notice.) Damian
sat up and took notice too, offering some refinements and did some
thinking aloud. Damian suggested that maybe the prototype should look
like <code>sub while ( &amp;test is specified(/&lt;Perl.expr&gt;/), &amp;body);</code>. Damian also suggested blurring the line still further between
statements and expressions by having the likes of <code>for</code> return a
value, and had some thoughts on multimethods. Trey Harris also offered
some more comments on multimethods.</p>
<p>All of which leaves me looking forward with bated breath for
Apocalypse 6.</p>
<p>Quote of the thread: &quot;The whole point of making Perl 6 parse itself
with regexes is to make this sort of stuff easy.&quot; -- Larry</p>
<p><a href='http://makeashorterlink.com/?H1C632DA1' target='_blank'>makeashorterlink.com</a></p>
<p><a href='http://makeashorterlink.com/?E1D623DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='Rule, rx and sub'></a><h2>Rule, rx and sub</h2>
<p>Deborah Ariel Pickett summarized the state of her understanding of the
difference between <code>rule</code> and <code>rx</code> and wondered if there was any
case where</p>
<pre>    ... rule ...</pre>
<p>and
... rx ...</p>
<p>(given the same <code>...</code>s in both cases), lead to valid, but different
semantics. Uri Guttman thinks not. Damian thinks so, and provided an
example. (It was joked, on the London.pm mailing list (by Damian
himself) that Damian is currently our only real, live Perl6
interpreter.). Luke Palmer raised a red flag about Damian's example;
Damian thinks it wasn't a red flag, but left it to Larry to
adjudicate. This also provoke a certain amount of discussion about the
philosophy behind some of the design decisions so far.</p>
<p>Glenn Linderman wondered if <code>rx</code> shouldn't be respelled, as the term
`regex' is being deprecated. Damian suggested that <code>rx</code> actually
stood for `Rule eXpedient', but I'm not sure he convinced anyone
(himself included). Ever the linguist, Larry observed that `we can
tweak what people mean by &quot;regular expression&quot;, but there's no way on
earth we can stop them from using the term.' and that, no matter how
many editions it goes through, Friedl's book is always going to be
called <i>Mastering Regular Expressions</i>. So, Larry is `encouraging use
of the technical term &quot;regex&quot; as a way to not precisely mean &quot;regular
expression&quot;.'</p>
<p>Piers Cawley raised a question about when <code>}</code> terminates a
statement and got it wrong. This subthread led to a short discussion
on good Perl 6 style. Damian told us that `Any subroutine/function
like <code>if</code> that has a signature that ends in a <code>&amp;sub</code> argument can be
parsed without the trailing semicolon', which I don't remember seeing
in any Apocalypse. This led to a discussion about what was legal in a
prototype specifier, ending when Larry told us that it'd be possible
to specify a grammar as a function's prototype.</p>
<p><a href='http://makeashorterlink.com/?G3F656DA1' target='_blank'>makeashorterlink.com</a></p>
<p><a href='http://makeashorterlink.com/?C10753DA1' target='_blank'>makeashorterlink.com</a></p>
<p><a href='http://makeashorterlink.com/?V21742DA1' target='_blank'>makeashorterlink.com</a></p>
<p><a href='http://makeashorterlink.com/?C22751DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='Auto deserialization'></a><h2>Auto deserialization</h2>
<p>At the root of what turned into a large thread, Steve Canfield asked a
deceptively simple question: `[Will] code like this Do What I Mean:
<code>my Date $bday = 'June 24, 2002'</code>'? We weren't entirely sure what
he meant by that...</p>
<p>The thread was long, and pretty much unsummarizable, but we ended up
with the rather pleasant looking <code>my Date $date .= new('Jun 24,
20002')</code>, the idea being that, because <code>$date</code> is known to be a
<code>Date</code>, even if it's undefined, then it's possible to make a static
method call on it. The response to this suggestion spilt over into
the next week, but `favourable' would be a good description of it.</p>
<p><a href='http://makeashorterlink.com/?P23712DA1' target='_blank'>makeashorterlink.com</a></p>
<p><a href='http://makeashorterlink.com/?M14721DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='Hypothetical synonyms'></a><h2>Hypothetical synonyms</h2>
<p>Aaron Sherman wondered if he would be able to write</p>
<pre>    $stuff = $field if m{^\s*[
        &quot;(.*?)&quot;     {let $field = $1} |
         (\S+)      {let $field = $2}]};</pre>
<p>Larry thought</p>
<pre>    my $stuff;
    
    m{^\s*[
        &quot;$stuff:=(.*?)&quot; |
         $stuff:=(\S+)
    ]};</pre>
<p>was a better way of doing it, saying that he saw no `particular reason
why a top-level regex can't refer to variables in the surrounding
scope, either by default, or via a :modifier of some sort.'</p>
<p>Uri Guttman, in possibly the first ever Perl 6 golf post (he denies
it's really golf), suggested a way of shortening the pattern further,
and Larry trumped him by shortening it to <code>my $field =
/&lt;shellword&gt;/</code>, which led Nicholas Clark to wonder about oneliners
along the lines of <code>my $data = /&lt;xml&gt;/</code> and wondered if the Perl
regex engine would be faster than using <code>expat</code>. Nick also wondered
if Perl 6 would give shorter golf solutions than Perl 5.</p>
<p>There was quite a bit more in this thread, but my summarizing skills
are failing.</p>
<p><a href='http://makeashorterlink.com/?X15721DA1' target='_blank'>makeashorterlink.com</a> -- Thread starts here, it's jolly
good.</p>
<a name='Does ::: constrain the pattern engine implementation'></a><h2>Does ::: constrain the pattern engine implementation</h2>
<p>Deven T. Corzine wondered if the presence of <code>:::</code> and friends in the
pattern language meant we'd constrained the possible implementation of
the pattern engine before we'd started, and if we could implement
something that didn't do backtracking. General opinion seemed to be
that we couldn't avoid backtracking, but Deven wondered if it wouldn't
be possible to use a non backtracking implementation for some special
cases. The consensus appears to be `If you build it, and it's faster,
we will come'.</p>
<p><a href='http://makeashorterlink.com/?N16733DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='Backtracking into { code }'></a><h2>Backtracking into <code>{ code }</code></h2>
<p>Ken Fox wondered if</p>
<pre>  rule expr1 { &lt;term&gt; { /@operators/ or fail } &lt;term&gt; };</pre>
<p>and</p>
<pre>  rule expr2 { &lt;term&gt; @operators &lt;term&gt; }</pre>
<p>were equivalent. Damian thought not, and added that <code>expr1</code> should
probably be rewritten as <code>rule expr1 { &lt;term&gt; { m:cont/@operators/
or fail } &lt;term&gt; }</code>. Larry says that we <i>will</i> backtrack into
subrules.</p>
<p>Again, the whole thread is worth reading if you're interested in the
rules/patterns/regex engine.</p>
<p><a href='http://makeashorterlink.com/?D67741DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='Prebinding questions'></a><h2>Prebinding questions</h2>
<p>Philip Hellyer asked a bunch of questions sparked by Damian's talk
about Perl 6 to London.pm (at the Conway Hall no less, London.pm knows
how to find appropriate venues). Damian answered them.</p>
<p><a href='http://makeashorterlink.com/?E38721DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='@array = %hash'></a><h2><code>@array = %hash</code></h2>
<p>Nicholas Clark noted that <code>@array = %hash</code>, for a hash of n elements
would return an array of n pairs. The Perl5 style, returning a list of
2n elements, keys and values interleaved would be <code>@array =
%hash.kv</code>. All this led Nick to wonder what happened in the other
direction. Obviously <code>%hash = @list_of_pairs</code> was going to do the
right thing, but what about <code>%hash = @kv_array</code>. And, more
worryingly, what about</p>
<pre>   %hash = (&quot;Something&quot;, &quot;mixing&quot;, pairs =&gt; &quot;and&quot;, &quot;scalars&quot;);</pre>
<p>It turns out that the <code>@kv_array</code> case will Just Work, and the last
case will cause discussion to break out. Damian thought that the
example above would throw an error because there are 5 elements in the
list. Another school thought that, because PAIRs are first class
objects in Perl 6, the code should work, with one of the keys of the
hash being the pair <code>(pairs =</code> 'and')&gt;. Damian thought not, and
discussion ensued. I'm afraid I'm not entirely well qualified to
summarize this thread as I'm one of those who thinks Damian is wrong,
or at least, not yet sufficiently correct. However, for now, the state
of the design is such that pairs are `special' and it takes an effort
of compile time will to use them as keys (or values come to that) in
a hash.</p>
<p><a href='http://makeashorterlink.com/?G19752DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='Regex stuff'></a><h2>Regex stuff</h2>
<p>Choosing a deliberately vague subject line in an effort to give the
summarizer a headache, Piers Cawley asked a question about binding to
numeric hypotheticals. It turns out that binding to a numeric
hypothetical variable in a regular expression is special cased
(resetting the numeric `counter') and even mentioned in the
appropriate apocalypse, and the problem that Piers thought he saw
doesn't actually exist.</p>
<p><a href='http://makeashorterlink.com/?G6A752DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='Atomicness and \n'></a><h2>Atomicness and \n</h2>
<p>Aaron Sherman wondered what <code>\n</code> would be translated to in a Perl 6
pattern. Aaron proposed <code>&lt;[\x0a\x0d...]+&gt;</code>. Damian thought it was
<code>&lt;[\x0a\x0d]&gt;</code>, and Ken Fox thought it would be something like
<code>\0xd \0xa | \x0d | \x0a</code>. Personally I think it'll be <code>[ \0xd
\0xa | &lt;[\x0a\x0d...]&gt; ]</code>. (I also believe that whoever came up with
the idea of a two character end of line marker should be taken out and
shot, but that's another story entirely).</p>
<a name='The news from London'></a><h1>The news from London</h1>
<p>On Thursday Damian managed to deliver his Perl 6 prospectus talk in
about 3.5 hours. Okay, it <i>sounds</i> like a long time, but Damian told
us that, on average, the talk runs to 5 hours. The 'one question' rule
introduced by London.pm seems to have worked well. As predicted a
whole load of lights went on over peoples heads as they started to
'get' how the whole thing hung together.</p>
<p>Anyway, the one question rule led to a bunch of questions about Perl 6
cropping up on the London.pm mailing list that haven't (yet) been
cross posted to perl6-language. One interesting question concerned
what happens when bare/if/while/do/when/etc blocks have <code>return</code> in
them. Damian answered that they throw a 'return' control exception,
which the control structure catches and re-throws. Piers wondered how
you'd go about writing your own looping construct and made a couple of
proposals about the treatment of control exceptions.</p>
<p>Quote of the London.pm threads: `yImoj Perl javDIch!' which, as
everyone knows, is the Klingon for `Be Perl6. Now!'.</p>
<p><a href='http://makeashorterlink.com/?Y3B721DA1' target='_blank'>makeashorterlink.com</a></p>
<p><a href='http://makeashorterlink.com/?E2C752DA1' target='_blank'>makeashorterlink.com</a></p>
<a name='Call for assistance'></a><h2>Call for assistance</h2>
<p>Next week is the Zurich Perl 6 mini conference, and I won't be
there. Soon after that is YAPC::Europe 2002, and I won't be there
either. This week, Damian is in Belfast and will be talking to
Belfast.pm about stuff, guess what, I'm not there either. If anyone
would like to send me some Perl 6 related reports for the summary from
any of these events I would be <i>enormously</i> grateful. Thanks in
advance.</p>
<a name='Squashing a myth'></a><h2>Squashing a myth</h2>
<p>You may have come across the `Damian Conway is looking for graduate
students' meme. I know I have, and I repeated it at one of Damian's
talks in London. Guess what, it's not true (as I should have
realised). Damian is no longer associated with any institute of higher
learning and is not looking for graduate students. Kindly readjust
your memeplexes.</p>
<a name='In Brief'></a><h1>In Brief</h1>
<p>Pete Sergeant pointed us all at some work he'd done toward building
an 'operations dictionary' for Parrot. Available at
<a href='http://grou.ch/parrot/index.cgi.' target='_blank'>grou.ch</a></p>
<p>Over the course of a surprisingly long thread, Steve Lambert, Markus
Laire and Leopold Toetsch and a few of the usual suspects got IMCC and
Perl6 compiling properly with Windows.</p>
<p>Bryan C. Warnock offered a large patch to parrot's <b><i>glossary.pod</i></b>; a
document worth reading. Bryan also PODified byteorder.dev so it would
show up correctly on <a href='http://www.parrotcode.org/docs/.' target='_blank'>www.parrotcode.org</a> Bryan also
added POD title blocks to a pile of PODs. Kudos to the docmonster.</p>
<p>Daniel Grunblatt added conditional breakpoints and watchpoints to the
Parrot Debugger. Steve Fink also waved a magic wand over the debugger
and fixed up a bunch of problems. Well done chaps.</p>
<p>Andy Dougherty wondered about how up to date MANIFEST is. There were
497 files listed in MANIFEST, but a fresh CVS checkout runs to 2215
files. Daniel Grunblatt thinks he's added all the important files to
MANIFEST.</p>
<p>Sean O'Rourke made some big changes to IMCC; newlines within statements
are no longer allowed, and there's been some `significant changes to
register allocation and spilling.'</p>
<p>Bryan C. Warnock wondered about the file permissioning inconsistency in
the parrot source tree. Andy Dougherty pointed out that it wasn't
(quite) as inconsistent as it looked; build scripts should be left
without execute bits so that makefile authors would use the more
portable <code>$(PERL) script.pl</code>, which makes no assumptions about
the whereabouts of perl.</p>
<p>Peter Gibbs offered a <i>huge</i> patch, merging his `African Grey' parrot
tweaks with the CVS parrot. It's not been applied in CVS, but
<a href='http://makeashorterlink.com/?O1D741DA1' target='_blank'>makeashorterlink.com</a> has the details.</p>
<p>Jason Gloudon wondered about temporary PMCs used in opcodes like <code>ADD Px, Py, Pz</code>, and wondered what <code>set_pmc</code> should do in the
simple case. Sean O'Rourke pointed out that often one wouldn't need to
create transient PMCs because one could use the specialist string and
number registers to hold the temporaries. Sean voted for `morph' in
the simple <code>set_pmc</code> case.</p>
<p>Jonathan Sillito contributed a patch allowing for hierarchical lookup
of lexical variables in scratchpads, and which makes subroutines into
real closures (by virtue of the hierarchical lookup up of lexical
variables...). Warnock's Dilemma applies...</p>
<p>Andy Dougherty did some cleaning up of the build process, removing
lint and cruft from the Makefiles and Configure.pl. Hmmm... I wonder
how far we are from our goal of 'compile a miniparrot, use that to
execute the more advanced config script, and then compile the full
parrot', and removing the dependency on Perl to build parrot...</p>
<p>Now that we have ICU in the repository Angel Faus wondered how we
should deal with differently encoded strings. No answers yet.</p>
<p>Andy Dougherty wondered if the time had come to make IMCC build with
plain old yacc and lex instead of depending on bison and flex. Leopold
Toetsch reckoned that that would be a good idea and asked Andy for his
patches.</p>
<p>Leopold found a bug in <code>mul</code>, <code>div</code>, <code>mod</code>, <code>sub</code>, <code>concat</code> when
operating on PMCs. So he fixed it. I'm not sure if the patch has been
applied.</p>
<p>J&uuml;rgen B&ouml;mmels got fed up with <b><i>MANIFEST</i></b> not being
accurate. So he wrote an automated test which compares the <b><i>MANIFEST</i></b>
with <b><i>CVS/Entries</i></b> and complains if they don't match. I don't know if
it's been checked in yet, but when it does, let's hope the committer
remembers to update the manifest.</p>
<p>Steve Fink has a patch which stops Configure.pl touching files unless
they've actually changed, and wondered if it would be of any use to
people not actually working on Configure. Nicholas Clark took the
opportunity to point us at <a href='http://ccache.samba.org/.' target='_blank'>ccache.samba.org</a></p>
<p>Steve Fink also submitted a flurry of clean up patches, many of which
look like they'll get applied once 0.0.8 has been released.</p>
<p>Dan noted that Hashes are an order of magnitude slower to GC than, say
PerlStrings, and two orders of magnitude slower than PerlInts. Which
isn't good. Dan wondered if there might be a way to get less GC
overhead. Steve Fink offered a few suggestions.</p>
<p>`:/::/:::/&lt;commit&gt; makes backtrack fail current
atom/group/rule/match.' -- Markus Laire summarizes the various
backtracking assertions.</p>
<a name='Who's who in Perl 6'></a><h1>Who's who in Perl 6</h1>
<ul>
<li><a name='Who are you?'></a>Who are you?</li>
<p>Miko (pronounced &quot;Mike-Oh&quot;) O'Sullivan, Father of Melody, Husband of
Starflower, Follower of Jesus, Author of The Idocs Guide to HTML</p>
<li><a name='What do you do for/with Perl 6?'></a>What do you do for/with Perl 6?</li>
<p>Participate in perl6-language, generally by suggesting small
features that I think would make life a lot easier for programmers.</p>
<li><a name='Where are you coming from?'></a>Where are you coming from?</li>
<p>I come from the perspective that a) I want things to just work without a
lot of startup effort on my part b) I believe that things can in fact
actually do that c) Perl does d) Perl can do so even more e) I'm pretty
normal in these feelings.  Oh, also Blacksburg, VA, USA.</p>
<li><a name='When do you think Perl 6 will be released?'></a>When do you think Perl 6 will be released?</li>
<p>Put me down for June 6, 2003, 1:37:03 am EST.</p>
<li><a name='Why are you doing this?'></a>Why are you doing this?</li>
<p>I'm sort of like a Lab (i.e. the dog) that instinctively jumps into a
lake: I just must do it.</p>
<li><a name='You have 5 words. Describe yourself.'></a>You have 5 words. Describe yourself.</li>
<p>Impatient.</p>
<li><a name='Do you have anything to declare?'></a>Do you have anything to declare?</li>
<p>I declare a lot of public static constants.</p>
</ul>
<a name='Acknowledgements'></a><h1>Acknowledgements</h1>
<p>Thanks to Gill for putting up with me last night while I sat and
pretty much ignored everything as I worked on this summary. For some
reason, perl6-language threads are much harder to summarize well; I
<i>always</i> take longer to write a summary when that list is busy.</p>
<p>As usual, if you liked this summary, please send money to the Perl
Foundation at <a href='http://donate.perl-foundation.org/' target='_blank'>donate.perl-foundation.org</a> to support the
ongoing development of Perl.</p>
<p>This week's summary was funded by the O'Reilly Network, who now pay the
publication fee for the summaries directly to the Perl
Foundation. So, a big thank you to them.</p>
</div>
